#include <iostream>
#include <vector>
using namespace std;

int main()
{
	string str;
	cin>>str;
	int n=str.size();
	int ret=0;
	str=' '+str;
	vector<vector<int>> dp(n+1,vector<int>(n+1));
	
	for(int len=1;len<=n;len++)
	{
		for(int i=1;i+len-1<=n;i++)
		{
			int j=i+len-1;
			if(i==j)
			{
				dp[i][j]=1;
			}
			else if(i+1==j && str[i]==str[j])
			{
				dp[i][j]=2;
			}
			else if(str[i]==str[j]){
				dp[i][j]=dp[i+1][j-1]+2;
			}
			else{
				dp[i][j]=max(dp[i+1][j],dp[i][j-1]);
			}
		}
	}
	
	cout<<dp[1][n]<<endl;
	return 0;
}
